#ifndef SIMULATEDMOVEACTION_HPP
#	define SIMULATEDMOVEACTION_HPP

#	include "Position.hpp"
#	include "Piece.hpp"
#	include "WarnException.hpp"
#	include "CriticalException.hpp"
#	include "Chessboard.hpp"
#	include "SimulatedAction.hpp"
#	include "MoveAction.hpp"

class SimulatedMoveAction : public MoveAction, public SimulatedAction
{
	public:

		SimulatedMoveAction(Chess::Color color, const Position& pos_orig, const Position& pos_dest);
		SimulatedMoveAction(const SimulatedMoveAction& smove);
		~SimulatedMoveAction();
		
		void		reset(const Position& pos_orig, const Position& pos_dest);
		void		undo();
};


#endif
